﻿// © 2005 IDesign Inc. All rights reserved 
//Questions? Comments? go to 
//http://www.idesign.net

using System;
using System.Web.Services;

[WebService(Name="IPasswordManager",Namespace="http://CredentialsServices",
Description="IPasswordManager is used to retrieve the application password configuration, as well as various user password management methods. This web service is only the definition of the interface. You cannot invoke method calls on it.")]
public abstract class IPasswordManagerShim : IPasswordManager
{
   public abstract bool EnablePasswordReset(string application);
   public abstract bool EnablePasswordRetrieval(string application);
   public abstract string GeneratePassword(string application,int length,int numberOfNonAlphanumericCharacters);
   public abstract int GetMaxInvalidPasswordAttempts(string application);
   public abstract int GetMinRequiredNonAlphanumericCharacters(string application);
   public abstract int GetMinRequiredPasswordLength(string application);
   public abstract int GetPasswordAttemptWindow(string application);
   public abstract string GetPasswordStrengthRegularExpression(string application);
   public abstract bool RequiresQuestionAndAnswer(string application);

   public abstract string ResetPassword(string application,string userName);
   public abstract string ResetPasswordWithQuestionAndAnswer(string application,string userName,string passwordAnswer);
   public abstract string GetPassword(string application,string userName,string passwordAnswer);
   public abstract string GetPasswordQuestion(string application,string userName);
   public abstract void ChangePassword(string application,string userName,string newPassword);
   public abstract void ChangePasswordWithAnswer(string application,string userName,string passwordAnswer,string newPassword);
}
